package com.basic.system.service;

import com.basic.common.result.WebResult;
import com.basic.system.domain.SystemFile;
import com.basic.system.domain.bo.SystemFileBo;
import com.github.pagehelper.PageInfo;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface SystemService {
    //添加新文件
    int insert(SystemFile systemFile);

    //批量添加文件
    int insertById(List<SystemFile> systemFiles);

    //根据业务ID批量添加文件
    int insertByRefStrId(List<SystemFile> systemFiles , String refStrId,String BusType);

    //根据业务ID字符串批量添加文件
    int insertByRefId(List<SystemFile> systemFiles, Long refId);

    //根据业务id删除文件，逻辑删除，使文件变为不可用
    int deleteByRefId(SystemFile systemFile);

    /**
     * 根据文件Id单删
     * @param id 文件Id
     * @return 返回删除操作值
     */
    int delByFileId(Long id);

    //根据业务id字符串删除文件，逻辑删除，使文件变为不可用
    int deleteByRefStrId(SystemFile systemFile);

    //批量删除文件，逻辑删除，使文件变为不可用
    int deleteByBo(SystemFileBo systemFileBo);

    //更改文件信息
    int updateFile(SystemFile systemFile);

    //不分页查询文件
    List<SystemFile> selectByBo(SystemFile systemFile);

    //分页查询
    PageInfo<SystemFile> pageList(SystemFileBo bo);

    /**
     * 从URl取文件类型
     *
     * @param fileName
     * @return
     */
    public String getFileType(String fileName);
}
